<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>Document</title>
	</head>
	<body>
		<script type="text/javascript" >
			//模拟一下数据代理

			let _data = {
				name:'尚硅谷'
			}

			let vm = {
				$a:1,
				$b:2,
				$c:3,
			}

			//Object.defineProperty用于给指定对象追加属性
			Object.defineProperty(vm,'name',{
				set(value){
					//当有人修改name属性时，set方法会被调用，且调用时会给我传入修改的值
					_data.name = value
				},
				get(){
					//当有人读取name属性时，get方法会被调用，get方法的返回值，就作为name的值。
					return _data.name
				}
			})

			console.log(vm)

		</script>
	</body>
</html>